package com.xy.biz.uc.domain.resp;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;
import java.util.Map;

@NoArgsConstructor
@AllArgsConstructor
@Builder
@Data
public class CurrentUserResponse {

    /**
     * 用户Id
     */
    private Long userId;
    /**
     * 用户编码，登录名
     */
    private String userCode;
    /**
     * 显示名称
     */
    private String userName;
    /**
     * 头像
     */
    private String avatar;
    /**
     * 角色集合
     */
    private List<String> roles;
    /**
     * 能访问的菜单集合
     */
    private Map<String,List<Menu>> menusMap;


    @NoArgsConstructor
    @AllArgsConstructor
    @Builder
    @Data
    public static class Menu {

        /**
         * 资源编码
         */
        private String resourceCode;
        /**
         * 名称
         */
        private String name;
        /**
         * 模块
         */
        private String module;
        /**
         * 分组
         */
        private String groups;
        /**
         * 描述
         */
        private String memo;
        /**
         * 路径
         */
        private String path;
        /**
         * 图标
         */
        private String icon;
        /**
         * 状态：状态：0-未启用（隐藏），1-启用（显示）
         */
        private Integer status;
        /**
         * 下级菜单集合
         */
        private List<Menu> children;

    }

}
